package com.zzedu.vo;

import com.alibaba.fastjson2.JSONObject;
import com.zzedu.enmuns.SelectOptionEnum;

import java.util.List;
import java.util.Map;

/**
 * 互动 内容
 */
public class ContentInteractionVO {

    /**
     * 背景 图片文件id
     */
    private Long imageFileId;


    /**
     * 背景音乐文件id
     */
    private Long audioFileId;

    /**
     * 单词ID集合
     */
    private List<Long> wordsId;

    /**
     * 单词集合
     */
    private List<String> wordsList;

    /**
     * 蒙层题配置
     * mask_layer1===>图片位置
     * <p>
     * mask_layer_top:上间距
     * mask_layer_bottom:下间距
     */
    private Map<String, String> maskLayer;


    /**
     * 拖拽-图片ID
     */
    private List<Long> dragFileIdList;


    /**
     * 主图1
     */
    private List<Long> firstMainImageFileIdList;

    /**
     * 主图2
     */
    private List<Long> secondMainImageFileIdList;


    /**
     * 句子 纯文本
     */
    private List<String> sentences;
    /**
     * 挖空句子原始信息
     */
    private List<WordSpellingSentencesVO> wordSpellingSentences;
    /**
     * 句子音频
     */
    private Long sentencesAudioId;

    /**
     * 句子图片
     */
    private Long sentencesImageId;
    /**
     * 模式
     * 1-单词
     * 2-句子
     */
    private Integer wordSpelling;


    /**
     * 选项类型 选择-自定义时有值
     */
    private String selectOptionEnum;
    /**
     * 选择-自定义时有值(题目-音频)
     */
    private Long subjectAudio;

    /**
     * 选择-自定义时有值(题目-图片)
     */
    private Long subjectImage;

    /**
     * 选择-自定义时有值(选项-内容) 字段内容参照 SelectOptionVO, 文件内容为fileId
     *
     */
    private List<JSONObject> selectOptionVOList;

    public Long getImageFileId() {
        return imageFileId;
    }

    public void setImageFileId(Long imageFileId) {
        this.imageFileId = imageFileId;
    }

    public Long getAudioFileId() {
        return audioFileId;
    }

    public void setAudioFileId(Long audioFileId) {
        this.audioFileId = audioFileId;
    }

    public List<Long> getWordsId() {
        return wordsId;
    }

    public void setWordsId(List<Long> wordsId) {
        this.wordsId = wordsId;
    }

    public List<String> getWordsList() {
        return wordsList;
    }

    public void setWordsList(List<String> wordsList) {
        this.wordsList = wordsList;
    }

    public Map<String, String> getMaskLayer() {
        return maskLayer;
    }

    public void setMaskLayer(Map<String, String> maskLayer) {
        this.maskLayer = maskLayer;
    }

    public List<Long> getDragFileIdList() {
        return dragFileIdList;
    }

    public void setDragFileIdList(List<Long> dragFileIdList) {
        this.dragFileIdList = dragFileIdList;
    }

    public List<Long> getFirstMainImageFileIdList() {
        return firstMainImageFileIdList;
    }

    public void setFirstMainImageFileIdList(List<Long> firstMainImageFileIdList) {
        this.firstMainImageFileIdList = firstMainImageFileIdList;
    }

    public List<Long> getSecondMainImageFileIdList() {
        return secondMainImageFileIdList;
    }

    public void setSecondMainImageFileIdList(List<Long> secondMainImageFileIdList) {
        this.secondMainImageFileIdList = secondMainImageFileIdList;
    }

    public List<String> getSentences() {
        return sentences;
    }

    public void setSentences(List<String> sentences) {
        this.sentences = sentences;
    }

    public List<WordSpellingSentencesVO> getWordSpellingSentences() {
        return wordSpellingSentences;
    }

    public void setWordSpellingSentences(List<WordSpellingSentencesVO> wordSpellingSentences) {
        this.wordSpellingSentences = wordSpellingSentences;
    }

    public Long getSentencesAudioId() {
        return sentencesAudioId;
    }

    public void setSentencesAudioId(Long sentencesAudioId) {
        this.sentencesAudioId = sentencesAudioId;
    }

    public Long getSentencesImageId() {
        return sentencesImageId;
    }

    public void setSentencesImageId(Long sentencesImageId) {
        this.sentencesImageId = sentencesImageId;
    }

    public Integer getWordSpelling() {
        return wordSpelling;
    }

    public void setWordSpelling(Integer wordSpelling) {
        this.wordSpelling = wordSpelling;
    }

    public String getSelectOptionEnum() {
        return selectOptionEnum;
    }

    public void setSelectOptionEnum(String selectOptionEnum) {
        this.selectOptionEnum = selectOptionEnum;
    }

    public Long getSubjectAudio() {
        return subjectAudio;
    }

    public void setSubjectAudio(Long subjectAudio) {
        this.subjectAudio = subjectAudio;
    }

    public Long getSubjectImage() {
        return subjectImage;
    }

    public void setSubjectImage(Long subjectImage) {
        this.subjectImage = subjectImage;
    }

    public List<JSONObject> getSelectOptionVOList() {
        return selectOptionVOList;
    }

    public void setSelectOptionVOList(List<JSONObject> selectOptionVOList) {
        this.selectOptionVOList = selectOptionVOList;
    }
}
